class Solution {
public:
    int brokenCalc(int startValue, int target) {
        // startValue比target大，只能通过减操作得到target，次数就是startValue-target
        if(startValue >= target)
            return startValue - target;

        int ret = 0;
        // 逆向思维
        while(startValue < target)
        {
            if(target % 2 == 0)
            {
                // target是偶数
                target /= 2;
            }
            else
            {
                // target是奇数
                target += 1;
            }
            ret += 1;
        }
        return ret + startValue - target;
    }
};